package com.self.smallma.myblogweb.service;

import com.baomidou.mybatisplus.extension.service.IService;

import com.self.smallma.myblogweb.common.utils.PageUtils;
import com.self.smallma.myblogweb.entity.BlogEntity;
import com.self.smallma.myblogweb.vo.BlogAndUserVo;
import com.self.smallma.myblogweb.vo.DetailedBlogVo;
import com.self.smallma.myblogweb.vo.FirstPageBlogVo;
import com.self.smallma.myblogweb.vo.RecommendBlogVo;

import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author mahuanyu
 * @email 1914096395@qq.com
 * @date 2021-07-17 17:48:05
 */
public interface BlogService extends IService<BlogEntity> {

    PageUtils queryPage(Map<String, Object> params);

    PageUtils listByShow(Map<String, Object> map, Long id);

    PageUtils getSearchBlog(Map<String, Object> params,String key);

    PageUtils getAllFirstPageBlog(Map<String, Object> map);

    BlogEntity saveWithCustom(FirstPageBlogVo blog);

    BlogEntity updateBatchByIdWithUpdateTime(FirstPageBlogVo blog);

    List<RecommendBlogVo> getRecommendedBlog();

//    PageUtils getAllFirstPageBlogInfo();

    DetailedBlogVo getDetailedBlog(Long id);

    BlogAndUserVo getBlogAndUserById(Long id);

    int getBlogTotal();

    int getBlogViewTotal();

    int getBlogMessageTotal();

    int getBlogCommentTotal();
}

